package com.atguigu.jdbc;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

/**
 * projectName: day04_jdbc
 *
 * @author: 赵伟风
 * time: 2021/11/26 11:24
 * description:使用jdbc技术进行dml语法操作
 */
public class JdbcDML {


    public static void main(String[] args) throws SQLException,ClassNotFoundException{
        //1. 注册驱动
        //触发两次注册驱动！
        /**
         * 1. 外部注册DriverManager.registerDriver(new Driver())
         * 2. 内部注册 Driver - static{ 被触发一次 }
         */

        // DriverManager.registerDriver(new Driver())
        // 加载类  Class.forName("字符串 类的全限定符")
        Class.forName("com.mysql.jdbc.Driver");

        //2. 获取连接
        /**
         * 获取连接：
         *    Java程序和数据的桥梁！
         *    cmd - mysql  mysql -u账号 -p密码 -P port -h ip地址
         *    小海豚 - mysql  账号 密码 port ip
         *    java - mysql 账号 密码 port ip
         *    url链接 - 统一资源定位符  协议 :// host : port
         *            jdbc:数据库厂商://ip:port/数据库?k=v
         *            jdbc:mysql://localhost:3306/test1 = jdbc:mysql:///test1
         *
         *    file:///
         *    tpc://
         *    content://
         *    http:// 网络请求协议
         *    jdbc协议：  jdbc:mysql   jdbc:oracle
         *
         */
        java.sql.Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1",
                "root", "root");

        Properties properties = new Properties();
        //传入的参数key是固定的！
        properties.setProperty("user","root");
        properties.setProperty("password","root");

        java.sql.Connection connection_properties =
                DriverManager.getConnection("jdbc:mysql://localhost:3306/test1",properties);

        //url  协议 :// host : port ? key = value  & key = value
        java.sql.Connection connection_url =
                DriverManager.getConnection("jdbc:mysql://localhost:3306/test1?user=root&password=root");

        //3. 创建statement

        java.sql.Statement statement = connection.createStatement();

        //4. 编写sql语句

        String sql = "delete from a where aid = 1;";

        //5. statement执行sql语句
        //rows 返回影响行数  删除3行数据 - rows = 3
        int rows = statement.executeUpdate(sql);

        System.out.println("rows = " + rows);
        //6. 释放资源

        if (statement != null) {
            statement.close();
        }

        if (connection != null) {
            connection.close();
        }
    }

}
